package org.xxpay.apibase.vo.api;

import com.alibaba.fastjson.JSONObject;
import lombok.Data;
import org.xxpay.apibase.constant.ABCS;

/**
 * 支付接口api 实体Bean
 */
@Data
public class PayRes extends AbstractRes {

    /** 支付订单号 **/
    private String payOrderId;

    /** formJump / codeImg  **/
    private String payMethod;

    /** 支付跳转地址： 一般为HTML跳转形式 **/
    private String payUrl;

    /** 跳转URL  **/
    private String payJumpUrl;

    /** 支付方式 GET / POST  **/
    private String payAction;

    /** 二维码连接地址  **/
    private String codeUrl;

    /** 二维码图片地址  **/
    private String codeImgUrl;

    /** 跳转第三方支付 自定义参数	 **/
    private JSONObject payParams;

    /** 是否需要下游商户主动查询订单状态 **/
    private Boolean needQuery;

    /** 订单状态 **/
    private Byte orderStatus;


    /** 封装函数：设置二维码方式支付信息 **/
    public void setQrInfo(String codeUrl){
        setQrInfo(codeUrl);
    }
    public void setQrInfo(String codeUrl, String codeImgUrl){
        this.payMethod = ABCS.PAY_METHOD_CODE_IMG;
        this.codeUrl = codeUrl;
        this.codeImgUrl = codeImgUrl;
    }

    /** 封装函数：设置url形式支付信息 **/
    public void setJumpInfo(String payUrl){
        setJumpInfo(payUrl, null, null);
    }
    public void setJumpInfo(String payUrl, String payJumpUrl){
        setJumpInfo(payUrl, payJumpUrl, null);
    }
    public void setJumpInfo(String payUrl, String payJumpUrl, String payAction){

        this.payMethod = ABCS.PAY_METHOD_FORM_JUMP;
        this.payUrl = payUrl;
        this.payJumpUrl = payJumpUrl;
        this.payAction = payAction;
    }

    /** 封装函数：设置应用方式支付信息 **/
    public void setAppInfo(String payMethod, JSONObject payParams){
        this.payMethod = payMethod;
        this.payParams = payParams;
    }

}


